package com.ssy.lingxi.member.merchant.service.web;

import com.ssy.lingxi.common.response.PageData;
import com.ssy.lingxi.common.response.Wrapper;
import com.ssy.lingxi.member.merchant.model.vo.lifecycle.request.CommonIdVO;
import com.ssy.lingxi.member.merchant.model.vo.maintenance.request.MemberStoreAddVO;
import com.ssy.lingxi.member.merchant.model.vo.maintenance.request.MemberStorePageVO;
import com.ssy.lingxi.member.merchant.model.vo.maintenance.request.MemberStoreUpdateVO;
import com.ssy.lingxi.member.merchant.model.vo.maintenance.response.MemberStoreDetailVO;
import com.ssy.lingxi.member.merchant.model.vo.maintenance.response.MemberStorePageQueryVO;
import org.springframework.http.HttpHeaders;

/**
 * 系统能力 - 权限管理 - 门店管理服务接口
 * @author wyx
 * @version 2.0.0
 * @date 2022/02/10
 */
public interface IMemberAbilityStoreService {
    /**
     * 门店管理分页查询列表
     * @param headers HttpHeaders信息
     * @param pageVO  接口参数
     * @return 查询结果
     */
    Wrapper<PageData<MemberStorePageQueryVO>> memberStorePages(HttpHeaders headers, MemberStorePageVO pageVO);

    /**
     * 查看门店详情
     * @param headers HttpHeaders信息
     * @param idVO    接口参数
     * @return 查询结果
     */
    Wrapper<MemberStoreDetailVO> memberStoreDetail(HttpHeaders headers, CommonIdVO idVO);

    /**
     * 新增门店
     * @param headers HttpHeaders信息
     * @param addVO   接口参数
     * @return 操作结果
     */
    Wrapper<Void> addMemberStore(HttpHeaders headers, MemberStoreAddVO addVO);

    /**
     * 修改门店
     * @param headers  HttpHeaders信息
     * @param updateVO 接口参数
     * @return 操作结果
     */
    Wrapper<Void> updateMemberStore(HttpHeaders headers, MemberStoreUpdateVO updateVO);

    /**
     * 删除门店
     * @param headers HttpHeaders信息
     * @param idVO    接口参数
     * @return 操作结果
     */
    Wrapper<Void> deleteMemberStore(HttpHeaders headers, CommonIdVO idVO);

    /**
     * 启用/停用门店
     * @param headers HttpHeaders信息
     * @param idVO    接口参数
     * @return 操作结果
     */
    Wrapper<Void> enableMemberStore(HttpHeaders headers, CommonIdVO idVO);
}
